package com.ruoyi.project.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 工时对象 worklog
 * 
 * @author ruoyi
 * @date 2025-06-19
 */
@Data
public class Worklog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工时主键 */
    private Long id;

    /** 项目ID */
    @Excel(name = "项目ID")
    private String projectId;

    /** 任务ID */
    @Excel(name = "任务ID")
    private Long taskId;

    /** 填报人ID */
    @Excel(name = "填报人ID")
    private String userId;

    /** 工时日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工时日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workDate;

    /** 工时数 */
    @Excel(name = "工时数")
    private BigDecimal hours;

    /** 是否加班 */
    @Excel(name = "是否加班")
    private Integer isOvertime;
    @Excel(name = "当前状态")
    private String status;
    /** 加班工时 */
    @Excel(name = "加班工时")
    private BigDecimal overtimeHours;

    /** 工作内容 */
    @Excel(name = "工作内容")
    private String content;

    /** 归档状态(pending, archived, rejected) */
    @Excel(name = "归档状态(pending, archived, rejected)")
    private String finalStatus;

    /** 当前审批步骤(1=主管,2=销售) */
    @Excel(name = "当前审批步骤(1=主管,2=销售)")
    private Long approvalStep;


    @Excel(name = "办公方式")
    private String workStyle;

    @Excel(name = "是否闭环")
    private Integer closedLoop;

}
